home *** CD-ROM | disk | FTP | other *** search
Wrap
package com.extensibility.xa; import com.extensibility.xml.BaseDeclaration; import com.extensibility.xml.ExtraMetaDataUIIntf; import com.extensibility.xml.ParserException; import com.extensibility.xml.XMLStringUtilities; import com.extensibility.xml.dt.DataTypeIntf; public abstract class DeclModelExtra extends DeclTableModel { ExtraMetaDataUIIntf extraUI; public DeclModelExtra(SchemaDoc var1, Class var2) { super(var1, var2); this.resetExtraMetaDataUI(); } public DeclModelExtra(SchemaDoc var1, Class var2, Class var3) { super(var1, var2, var3); this.resetExtraMetaDataUI(); } ExtraMetaDataUIIntf getExtraUI() { return this.extraUI; } void resetExtraMetaDataUI() { this.extraUI = ((DeclTableModel)this).getSchemaDoc().getExtraMetaDataUI(); } final boolean isExtraCol(int var1) { return var1 >= this.getBaseColumnCount(); } protected abstract int getBaseColumnCount(); public int getExtraColumnCount() { return this.extraUI != null ? this.extraUI.getExtraColumnCount(this.getMetaSelector()) : 0; } int getExtraColIndex(int var1) { return var1 - this.getBaseColumnCount(); } public int getMetaSelector() { return -1; } public String getColumnName(int var1) { return this.isExtraCol(var1) ? this.extraUI.getColumnName(this.getMetaSelector(), this.getExtraColIndex(var1)) : super.getColumnName(var1); } public Class getColumnClass(int var1) { return this.isExtraCol(var1) ? this.extraUI.getColumnClass(this.getMetaSelector(), this.getExtraColIndex(var1)) : super.getColumnClass(var1); } public boolean isCellEditable(int var1, int var2) { return this.isExtraCol(var2) && !((DeclTableModel)this).isNewRow(var1) ? true : super.isCellEditable(var1, var2); } public Object getValueAt(int var1, int var2) { return this.isExtraCol(var2) && !((DeclTableModel)this).isNewRow(var1) ? ((DeclTableModel)this).getDeclaration(var1).getMetaPropAsString(this.extraUI.getColumnMetaProp(this.getMetaSelector(), this.getExtraColIndex(var2))) : super.getValueAt(var1, var2); } ParserException validateCell(String var1, int var2, int var3) { if (this.isExtraCol(var3)) { if (this.extraUI.isColumnMetaPropAttrs(this.getMetaSelector(), this.getExtraColIndex(var3))) { try { XMLStringUtilities.getNameValuePairs(var1); } catch (StringIndexOutOfBoundsException var6) { ParserException var5 = new ParserException(97, ""); return var5; } } if (var1 != null && var1.length() != 0) { DataTypeIntf var4 = this.extraUI.getDataType(this.getMetaSelector(), this.getExtraColIndex(var3)); return !((DeclTableModel)this).getSchemaDoc().getSchema().isValidValue(var4, var1) ? new ParserException(999, String.valueOf(String.valueOf("Value is not valid in '").concat(String.valueOf(this.getColumnName(var3)))).concat(String.valueOf("' column."))) : null; } else { return null; } } else { return super.validateCell(var1, var2, var3); } } public void setValueAt(Object var1, int var2, int var3) { if (this.isExtraCol(var3)) { String var4 = (String)var1; BaseDeclaration var5 = ((DeclTableModel)this).getDeclaration(var2); if (var4 != null && var4.length() != 0) { if (this.extraUI.isColumnMetaPropList(this.getMetaSelector(), this.getExtraColIndex(var3))) { var5.putMetaPropList(this.extraUI.getColumnMetaProp(this.getMetaSelector(), this.getExtraColIndex(var3)), var4); } else if (this.extraUI.isColumnMetaPropAttrs(this.getMetaSelector(), this.getExtraColIndex(var3))) { var5.putMetaPropAttrs(this.extraUI.getColumnMetaProp(this.getMetaSelector(), this.getExtraColIndex(var3)), XMLStringUtilities.getNameValuePairs(var4)); } else { var5.putMetaProp(this.extraUI.getColumnMetaProp(this.getMetaSelector(), this.getExtraColIndex(var3)), var4); } } else { var5.removeMetaProp(this.extraUI.getColumnMetaProp(this.getMetaSelector(), this.getExtraColIndex(var3))); } ((DeclTableModel)this).getSchemaDoc().touch(var5); } else { super.setValueAt(var1, var2, var3); } } }